home *** CD-ROM | disk | FTP | other *** search
-
- /* =========================== Module Win =========================== */
-
- #include "Python.h"
-
-
-
- #define SystemSevenOrLater 1
-
- #include "macglue.h"
- #include <Memory.h>
- #include <Dialogs.h>
- #include <Menus.h>
- #include <Controls.h>
-
- extern PyObject *ResObj_New(Handle);
- extern int ResObj_Convert(PyObject *, Handle *);
- extern PyObject *OptResObj_New(Handle);
- extern int OptResObj_Convert(PyObject *, Handle *);
-
- extern PyObject *WinObj_New(WindowPtr);
- extern int WinObj_Convert(PyObject *, WindowPtr *);
- extern PyTypeObject Window_Type;
- #define WinObj_Check(x) ((x)->ob_type == &Window_Type)
-
- extern PyObject *DlgObj_New(DialogPtr);
- extern int DlgObj_Convert(PyObject *, DialogPtr *);
- extern PyTypeObject Dialog_Type;
- #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type)
-
- extern PyObject *MenuObj_New(MenuHandle);
- extern int MenuObj_Convert(PyObject *, MenuHandle *);
-
- extern PyObject *CtlObj_New(ControlHandle);
- extern int CtlObj_Convert(PyObject *, ControlHandle *);
-
- extern PyObject *GrafObj_New(GrafPtr);
- extern int GrafObj_Convert(PyObject *, GrafPtr *);
-
- extern PyObject *BMObj_New(BitMapPtr);
- extern int BMObj_Convert(PyObject *, BitMapPtr *);
-
- extern PyObject *WinObj_WhichWindow(WindowPtr);
-
- #include <Windows.h>
-
- #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
-
- #ifdef HAVE_UNIVERSAL_HEADERS
- #define WindowPeek WindowPtr
- #endif
-
- static PyObject *Win_Error;
-
- /* ----------------------- Object type Window ----------------------- */
-
- PyTypeObject Window_Type;
-
- #define WinObj_Check(x) ((x)->ob_type == &Window_Type)
-
- typedef struct WindowObject {
- PyObject_HEAD
- WindowPtr ob_itself;
- } WindowObject;
-
- PyObject *WinObj_New(itself)
- WindowPtr itself;
- {
- WindowObject *it;
- if (itself == NULL) return PyMac_Error(resNotFound);
- it = PyObject_NEW(WindowObject, &Window_Type);
- if (it == NULL) return NULL;
- it->ob_itself = itself;
- SetWRefCon(itself, (long)it);
- return (PyObject *)it;
- }
- WinObj_Convert(v, p_itself)
- PyObject *v;
- WindowPtr *p_itself;
- {
- if (DlgObj_Check(v)) {
- *p_itself = ((WindowObject *)v)->ob_itself;
- return 1;
- }
-
- if (v == Py_None) { *p_itself = NULL; return 1; }
- if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; }
-
- if (!WinObj_Check(v))
- {
- PyErr_SetString(PyExc_TypeError, "Window required");
- return 0;
- }
- *p_itself = ((WindowObject *)v)->ob_itself;
- return 1;
- }
-
- static void WinObj_dealloc(self)
- WindowObject *self;
- {
- DisposeWindow(self->ob_itself);
- PyMem_DEL(self);
- }
-
- static PyObject *WinObj_GetWTitle(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Str255 title;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- GetWTitle(_self->ob_itself,
- title);
- _res = Py_BuildValue("O&",
- PyMac_BuildStr255, title);
- return _res;
- }
-
- static PyObject *WinObj_SelectWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- SelectWindow(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_HideWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- HideWindow(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_ShowWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- ShowWindow(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_ShowHide(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean showFlag;
- if (!PyArg_ParseTuple(_args, "b",
- &showFlag))
- return NULL;
- ShowHide(_self->ob_itself,
- showFlag);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_HiliteWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean fHilite;
- if (!PyArg_ParseTuple(_args, "b",
- &fHilite))
- return NULL;
- HiliteWindow(_self->ob_itself,
- fHilite);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_BringToFront(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- BringToFront(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_SendBehind(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr behindWindow;
- if (!PyArg_ParseTuple(_args, "O&",
- WinObj_Convert, &behindWindow))
- return NULL;
- SendBehind(_self->ob_itself,
- behindWindow);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_DrawGrowIcon(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- DrawGrowIcon(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_MoveWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short hGlobal;
- short vGlobal;
- Boolean front;
- if (!PyArg_ParseTuple(_args, "hhb",
- &hGlobal,
- &vGlobal,
- &front))
- return NULL;
- MoveWindow(_self->ob_itself,
- hGlobal,
- vGlobal,
- front);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_SizeWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short w;
- short h;
- Boolean fUpdate;
- if (!PyArg_ParseTuple(_args, "hhb",
- &w,
- &h,
- &fUpdate))
- return NULL;
- SizeWindow(_self->ob_itself,
- w,
- h,
- fUpdate);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_ZoomWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short partCode;
- Boolean front;
- if (!PyArg_ParseTuple(_args, "hb",
- &partCode,
- &front))
- return NULL;
- ZoomWindow(_self->ob_itself,
- partCode,
- front);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_BeginUpdate(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- BeginUpdate(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_EndUpdate(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- EndUpdate(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_SetWRefCon(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- long data;
- if (!PyArg_ParseTuple(_args, "l",
- &data))
- return NULL;
- SetWRefCon(_self->ob_itself,
- data);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWRefCon(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- long _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWRefCon(_self->ob_itself);
- _res = Py_BuildValue("l",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_SetWindowPic(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- PicHandle pic;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &pic))
- return NULL;
- SetWindowPic(_self->ob_itself,
- pic);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowPic(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- PicHandle _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowPic(_self->ob_itself);
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
- }
-
- static PyObject *WinObj_ClipAbove(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- ClipAbove(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_SaveOld(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- SaveOld(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_DrawNew(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean update;
- if (!PyArg_ParseTuple(_args, "b",
- &update))
- return NULL;
- DrawNew(_self->ob_itself,
- update);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_PaintOne(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle clobberedRgn;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &clobberedRgn))
- return NULL;
- PaintOne(_self->ob_itself,
- clobberedRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_PaintBehind(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle clobberedRgn;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &clobberedRgn))
- return NULL;
- PaintBehind(_self->ob_itself,
- clobberedRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_CalcVis(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- CalcVis(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_CalcVisBehind(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle clobberedRgn;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &clobberedRgn))
- return NULL;
- CalcVisBehind(_self->ob_itself,
- clobberedRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GrowWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- long _rv;
- Point startPt;
- Rect bBox;
- if (!PyArg_ParseTuple(_args, "O&O&",
- PyMac_GetPoint, &startPt,
- PyMac_GetRect, &bBox))
- return NULL;
- _rv = GrowWindow(_self->ob_itself,
- startPt,
- &bBox);
- _res = Py_BuildValue("l",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_TrackBox(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- Point thePt;
- short partCode;
- if (!PyArg_ParseTuple(_args, "O&h",
- PyMac_GetPoint, &thePt,
- &partCode))
- return NULL;
- _rv = TrackBox(_self->ob_itself,
- thePt,
- partCode);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetWVariant(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWVariant(_self->ob_itself);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_SetWTitle(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Str255 title;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetStr255, title))
- return NULL;
- SetWTitle(_self->ob_itself,
- title);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_TrackGoAway(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- Point thePt;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetPoint, &thePt))
- return NULL;
- _rv = TrackGoAway(_self->ob_itself,
- thePt);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_DragWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Point startPt;
- Rect boundsRect;
- if (!PyArg_ParseTuple(_args, "O&O&",
- PyMac_GetPoint, &startPt,
- PyMac_GetRect, &boundsRect))
- return NULL;
- DragWindow(_self->ob_itself,
- startPt,
- &boundsRect);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowPort(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- CGrafPtr _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowPort(_self->ob_itself);
- _res = Py_BuildValue("O&",
- GrafObj_New, _rv);
- return _res;
- }
-
- static PyObject *WinObj_SetPortWindowPort(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- SetPortWindowPort(_self->ob_itself);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowKind(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowKind(_self->ob_itself);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_SetWindowKind(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short wKind;
- if (!PyArg_ParseTuple(_args, "h",
- &wKind))
- return NULL;
- SetWindowKind(_self->ob_itself,
- wKind);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_IsWindowVisible(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = IsWindowVisible(_self->ob_itself);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_IsWindowHilited(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = IsWindowHilited(_self->ob_itself);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetWindowGoAwayFlag(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowGoAwayFlag(_self->ob_itself);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetWindowZoomFlag(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowZoomFlag(_self->ob_itself);
- _res = Py_BuildValue("b",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetWindowStructureRgn(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle r;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &r))
- return NULL;
- GetWindowStructureRgn(_self->ob_itself,
- r);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowContentRgn(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle r;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &r))
- return NULL;
- GetWindowContentRgn(_self->ob_itself,
- r);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowUpdateRgn(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle r;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &r))
- return NULL;
- GetWindowUpdateRgn(_self->ob_itself,
- r);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_GetWindowTitleWidth(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetWindowTitleWidth(_self->ob_itself);
- _res = Py_BuildValue("h",
- _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetNextWindow(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetNextWindow(_self->ob_itself);
- _res = Py_BuildValue("O&",
- WinObj_WhichWindow, _rv);
- return _res;
- }
-
- static PyObject *WinObj_GetWindowStandardState(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect r;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- GetWindowStandardState(_self->ob_itself,
- &r);
- _res = Py_BuildValue("O&",
- PyMac_BuildRect, &r);
- return _res;
- }
-
- static PyObject *WinObj_GetWindowUserState(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect r;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- GetWindowUserState(_self->ob_itself,
- &r);
- _res = Py_BuildValue("O&",
- PyMac_BuildRect, &r);
- return _res;
- }
-
- static PyObject *WinObj_SetWindowStandardState(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect r;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetRect, &r))
- return NULL;
- SetWindowStandardState(_self->ob_itself,
- &r);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *WinObj_SetWindowUserState(_self, _args)
- WindowObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect r;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetRect, &r))
- return NULL;
- SetWindowUserState(_self->ob_itself,
- &r);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyMethodDef WinObj_methods[] = {
- {"GetWTitle", (PyCFunction)WinObj_GetWTitle, 1,
- "() -> (Str255 title)"},
- {"SelectWindow", (PyCFunction)WinObj_SelectWindow, 1,
- "() -> None"},
- {"HideWindow", (PyCFunction)WinObj_HideWindow, 1,
- "() -> None"},
- {"ShowWindow", (PyCFunction)WinObj_ShowWindow, 1,
- "() -> None"},
- {"ShowHide", (PyCFunction)WinObj_ShowHide, 1,
- "(Boolean showFlag) -> None"},
- {"HiliteWindow", (PyCFunction)WinObj_HiliteWindow, 1,
- "(Boolean fHilite) -> None"},
- {"BringToFront", (PyCFunction)WinObj_BringToFront, 1,
- "() -> None"},
- {"SendBehind", (PyCFunction)WinObj_SendBehind, 1,
- "(WindowPtr behindWindow) -> None"},
- {"DrawGrowIcon", (PyCFunction)WinObj_DrawGrowIcon, 1,
- "() -> None"},
- {"MoveWindow", (PyCFunction)WinObj_MoveWindow, 1,
- "(short hGlobal, short vGlobal, Boolean front) -> None"},
- {"SizeWindow", (PyCFunction)WinObj_SizeWindow, 1,
- "(short w, short h, Boolean fUpdate) -> None"},
- {"ZoomWindow", (PyCFunction)WinObj_ZoomWindow, 1,
- "(short partCode, Boolean front) -> None"},
- {"BeginUpdate", (PyCFunction)WinObj_BeginUpdate, 1,
- "() -> None"},
- {"EndUpdate", (PyCFunction)WinObj_EndUpdate, 1,
- "() -> None"},
- {"SetWRefCon", (PyCFunction)WinObj_SetWRefCon, 1,
- "(long data) -> None"},
- {"GetWRefCon", (PyCFunction)WinObj_GetWRefCon, 1,
- "() -> (long _rv)"},
- {"SetWindowPic", (PyCFunction)WinObj_SetWindowPic, 1,
- "(PicHandle pic) -> None"},
- {"GetWindowPic", (PyCFunction)WinObj_GetWindowPic, 1,
- "() -> (PicHandle _rv)"},
- {"ClipAbove", (PyCFunction)WinObj_ClipAbove, 1,
- "() -> None"},
- {"SaveOld", (PyCFunction)WinObj_SaveOld, 1,
- "() -> None"},
- {"DrawNew", (PyCFunction)WinObj_DrawNew, 1,
- "(Boolean update) -> None"},
- {"PaintOne", (PyCFunction)WinObj_PaintOne, 1,
- "(RgnHandle clobberedRgn) -> None"},
- {"PaintBehind", (PyCFunction)WinObj_PaintBehind, 1,
- "(RgnHandle clobberedRgn) -> None"},
- {"CalcVis", (PyCFunction)WinObj_CalcVis, 1,
- "() -> None"},
- {"CalcVisBehind", (PyCFunction)WinObj_CalcVisBehind, 1,
- "(RgnHandle clobberedRgn) -> None"},
- {"GrowWindow", (PyCFunction)WinObj_GrowWindow, 1,
- "(Point startPt, Rect bBox) -> (long _rv)"},
- {"TrackBox", (PyCFunction)WinObj_TrackBox, 1,
- "(Point thePt, short partCode) -> (Boolean _rv)"},
- {"GetWVariant", (PyCFunction)WinObj_GetWVariant, 1,
- "() -> (short _rv)"},
- {"SetWTitle", (PyCFunction)WinObj_SetWTitle, 1,
- "(Str255 title) -> None"},
- {"TrackGoAway", (PyCFunction)WinObj_TrackGoAway, 1,
- "(Point thePt) -> (Boolean _rv)"},
- {"DragWindow", (PyCFunction)WinObj_DragWindow, 1,
- "(Point startPt, Rect boundsRect) -> None"},
- {"GetWindowPort", (PyCFunction)WinObj_GetWindowPort, 1,
- "() -> (CGrafPtr _rv)"},
- {"SetPortWindowPort", (PyCFunction)WinObj_SetPortWindowPort, 1,
- "() -> None"},
- {"GetWindowKind", (PyCFunction)WinObj_GetWindowKind, 1,
- "() -> (short _rv)"},
- {"SetWindowKind", (PyCFunction)WinObj_SetWindowKind, 1,
- "(short wKind) -> None"},
- {"IsWindowVisible", (PyCFunction)WinObj_IsWindowVisible, 1,
- "() -> (Boolean _rv)"},
- {"IsWindowHilited", (PyCFunction)WinObj_IsWindowHilited, 1,
- "() -> (Boolean _rv)"},
- {"GetWindowGoAwayFlag", (PyCFunction)WinObj_GetWindowGoAwayFlag, 1,
- "() -> (Boolean _rv)"},
- {"GetWindowZoomFlag", (PyCFunction)WinObj_GetWindowZoomFlag, 1,
- "() -> (Boolean _rv)"},
- {"GetWindowStructureRgn", (PyCFunction)WinObj_GetWindowStructureRgn, 1,
- "(RgnHandle r) -> None"},
- {"GetWindowContentRgn", (PyCFunction)WinObj_GetWindowContentRgn, 1,
- "(RgnHandle r) -> None"},
- {"GetWindowUpdateRgn", (PyCFunction)WinObj_GetWindowUpdateRgn, 1,
- "(RgnHandle r) -> None"},
- {"GetWindowTitleWidth", (PyCFunction)WinObj_GetWindowTitleWidth, 1,
- "() -> (short _rv)"},
- {"GetNextWindow", (PyCFunction)WinObj_GetNextWindow, 1,
- "() -> (WindowPtr _rv)"},
- {"GetWindowStandardState", (PyCFunction)WinObj_GetWindowStandardState, 1,
- "() -> (Rect r)"},
- {"GetWindowUserState", (PyCFunction)WinObj_GetWindowUserState, 1,
- "() -> (Rect r)"},
- {"SetWindowStandardState", (PyCFunction)WinObj_SetWindowStandardState, 1,
- "(Rect r) -> None"},
- {"SetWindowUserState", (PyCFunction)WinObj_SetWindowUserState, 1,
- "(Rect r) -> None"},
- {NULL, NULL, 0}
- };
-
- PyMethodChain WinObj_chain = { WinObj_methods, NULL };
-
- static PyObject *WinObj_getattr(self, name)
- WindowObject *self;
- char *name;
- {
- return Py_FindMethodInChain(&WinObj_chain, (PyObject *)self, name);
- }
-
- #define WinObj_setattr NULL
-
- PyTypeObject Window_Type = {
- PyObject_HEAD_INIT(&PyType_Type)
- 0, /*ob_size*/
- "Window", /*tp_name*/
- sizeof(WindowObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- /* methods */
- (destructor) WinObj_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- (getattrfunc) WinObj_getattr, /*tp_getattr*/
- (setattrfunc) WinObj_setattr, /*tp_setattr*/
- };
-
- /* --------------------- End object type Window --------------------- */
-
-
- static PyObject *Win_GetGrayRgn(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = GetGrayRgn();
- _res = Py_BuildValue("O&",
- ResObj_New, _rv);
- return _res;
- }
-
- static PyObject *Win_InitWindows(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- InitWindows();
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *Win_GetWMgrPort(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- GrafPtr wPort;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- GetWMgrPort(&wPort);
- _res = Py_BuildValue("O&",
- GrafObj_New, wPort);
- return _res;
- }
-
- static PyObject *Win_NewWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- Rect boundsRect;
- Str255 title;
- Boolean visible;
- short theProc;
- WindowPtr behind;
- Boolean goAwayFlag;
- long refCon;
- if (!PyArg_ParseTuple(_args, "O&O&bhO&bl",
- PyMac_GetRect, &boundsRect,
- PyMac_GetStr255, title,
- &visible,
- &theProc,
- WinObj_Convert, &behind,
- &goAwayFlag,
- &refCon))
- return NULL;
- _rv = NewWindow((void *)0,
- &boundsRect,
- title,
- visible,
- theProc,
- behind,
- goAwayFlag,
- refCon);
- _res = Py_BuildValue("O&",
- WinObj_New, _rv);
- return _res;
- }
-
- static PyObject *Win_GetNewWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- short windowID;
- WindowPtr behind;
- if (!PyArg_ParseTuple(_args, "hO&",
- &windowID,
- WinObj_Convert, &behind))
- return NULL;
- _rv = GetNewWindow(windowID,
- (void *)0,
- behind);
- _res = Py_BuildValue("O&",
- WinObj_New, _rv);
- return _res;
- }
-
- static PyObject *Win_FrontWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = FrontWindow();
- _res = Py_BuildValue("O&",
- WinObj_WhichWindow, _rv);
- return _res;
- }
-
- static PyObject *Win_InvalRect(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect badRect;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetRect, &badRect))
- return NULL;
- InvalRect(&badRect);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *Win_InvalRgn(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle badRgn;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &badRgn))
- return NULL;
- InvalRgn(badRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *Win_ValidRect(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Rect goodRect;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetRect, &goodRect))
- return NULL;
- ValidRect(&goodRect);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *Win_ValidRgn(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- RgnHandle goodRgn;
- if (!PyArg_ParseTuple(_args, "O&",
- ResObj_Convert, &goodRgn))
- return NULL;
- ValidRgn(goodRgn);
- Py_INCREF(Py_None);
- _res = Py_None;
- return _res;
- }
-
- static PyObject *Win_CheckUpdate(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- Boolean _rv;
- EventRecord theEvent;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- _rv = CheckUpdate(&theEvent);
- _res = Py_BuildValue("bO&",
- _rv,
- PyMac_BuildEventRecord, &theEvent);
- return _res;
- }
-
- static PyObject *Win_FindWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- short _rv;
- Point thePoint;
- WindowPtr theWindow;
- if (!PyArg_ParseTuple(_args, "O&",
- PyMac_GetPoint, &thePoint))
- return NULL;
- _rv = FindWindow(thePoint,
- &theWindow);
- _res = Py_BuildValue("hO&",
- _rv,
- WinObj_WhichWindow, theWindow);
- return _res;
- }
-
- static PyObject *Win_PinRect(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- long _rv;
- Rect theRect;
- Point thePt;
- if (!PyArg_ParseTuple(_args, "O&O&",
- PyMac_GetRect, &theRect,
- PyMac_GetPoint, &thePt))
- return NULL;
- _rv = PinRect(&theRect,
- thePt);
- _res = Py_BuildValue("l",
- _rv);
- return _res;
- }
-
- static PyObject *Win_GetCWMgrPort(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- CGrafPtr wMgrCPort;
- if (!PyArg_ParseTuple(_args, ""))
- return NULL;
- GetCWMgrPort(&wMgrCPort);
- _res = Py_BuildValue("O&",
- GrafObj_New, wMgrCPort);
- return _res;
- }
-
- static PyObject *Win_NewCWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- Rect boundsRect;
- Str255 title;
- Boolean visible;
- short procID;
- WindowPtr behind;
- Boolean goAwayFlag;
- long refCon;
- if (!PyArg_ParseTuple(_args, "O&O&bhO&bl",
- PyMac_GetRect, &boundsRect,
- PyMac_GetStr255, title,
- &visible,
- &procID,
- WinObj_Convert, &behind,
- &goAwayFlag,
- &refCon))
- return NULL;
- _rv = NewCWindow((void *)0,
- &boundsRect,
- title,
- visible,
- procID,
- behind,
- goAwayFlag,
- refCon);
- _res = Py_BuildValue("O&",
- WinObj_New, _rv);
- return _res;
- }
-
- static PyObject *Win_GetNewCWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
- WindowPtr _rv;
- short windowID;
- WindowPtr behind;
- if (!PyArg_ParseTuple(_args, "hO&",
- &windowID,
- WinObj_Convert, &behind))
- return NULL;
- _rv = GetNewCWindow(windowID,
- (void *)0,
- behind);
- _res = Py_BuildValue("O&",
- WinObj_New, _rv);
- return _res;
- }
-
- static PyObject *Win_WhichWindow(_self, _args)
- PyObject *_self;
- PyObject *_args;
- {
- PyObject *_res = NULL;
-
- long ptr;
-
- if ( !PyArg_ParseTuple(_args, "i", &ptr) )
- return NULL;
- return WinObj_WhichWindow((WindowPtr)ptr);
-
- }
-
- static PyMethodDef Win_methods[] = {
- {"GetGrayRgn", (PyCFunction)Win_GetGrayRgn, 1,
- "() -> (RgnHandle _rv)"},
- {"InitWindows", (PyCFunction)Win_InitWindows, 1,
- "() -> None"},
- {"GetWMgrPort", (PyCFunction)Win_GetWMgrPort, 1,
- "() -> (GrafPtr wPort)"},
- {"NewWindow", (PyCFunction)Win_NewWindow, 1,
- "(Rect boundsRect, Str255 title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)"},
- {"GetNewWindow", (PyCFunction)Win_GetNewWindow, 1,
- "(short windowID, WindowPtr behind) -> (WindowPtr _rv)"},
- {"FrontWindow", (PyCFunction)Win_FrontWindow, 1,
- "() -> (WindowPtr _rv)"},
- {"InvalRect", (PyCFunction)Win_InvalRect, 1,
- "(Rect badRect) -> None"},
- {"InvalRgn", (PyCFunction)Win_InvalRgn, 1,
- "(RgnHandle badRgn) -> None"},
- {"ValidRect", (PyCFunction)Win_ValidRect, 1,
- "(Rect goodRect) -> None"},
- {"ValidRgn", (PyCFunction)Win_ValidRgn, 1,
- "(RgnHandle goodRgn) -> None"},
- {"CheckUpdate", (PyCFunction)Win_CheckUpdate, 1,
- "() -> (Boolean _rv, EventRecord theEvent)"},
- {"FindWindow", (PyCFunction)Win_FindWindow, 1,
- "(Point thePoint) -> (short _rv, WindowPtr theWindow)"},
- {"PinRect", (PyCFunction)Win_PinRect, 1,
- "(Rect theRect, Point thePt) -> (long _rv)"},
- {"GetCWMgrPort", (PyCFunction)Win_GetCWMgrPort, 1,
- "() -> (CGrafPtr wMgrCPort)"},
- {"NewCWindow", (PyCFunction)Win_NewCWindow, 1,
- "(Rect boundsRect, Str255 title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)"},
- {"GetNewCWindow", (PyCFunction)Win_GetNewCWindow, 1,
- "(short windowID, WindowPtr behind) -> (WindowPtr _rv)"},
- {"WhichWindow", (PyCFunction)Win_WhichWindow, 1,
- "Resolve an integer WindowPtr address to a Window object"},
- {NULL, NULL, 0}
- };
-
-
-
- /* Return the object corresponding to the window, or NULL */
-
- PyObject *
- WinObj_WhichWindow(w)
- WindowPtr w;
- {
- PyObject *it;
-
- /* XXX What if we find a stdwin window or a window belonging
- to some other package? */
- if (w == NULL)
- it = NULL;
- else
- it = (PyObject *) GetWRefCon(w);
- if (it == NULL || ((WindowObject *)it)->ob_itself != w)
- it = Py_None;
- Py_INCREF(it);
- return it;
- }
-
-
- void initWin()
- {
- PyObject *m;
- PyObject *d;
-
-
-
-
- m = Py_InitModule("Win", Win_methods);
- d = PyModule_GetDict(m);
- Win_Error = PyMac_GetOSErrException();
- if (Win_Error == NULL ||
- PyDict_SetItemString(d, "Error", Win_Error) != 0)
- Py_FatalError("can't initialize Win.Error");
- }
-
- /* ========================= End module Win ========================= */
-
-